# encoding: utf-8

# 求a和b的最大公约数
def gcd(a, b):
    # 当a < b时两数交换
    if a < b:
        a, b = b, a
    yu = a % b  # a ÷ b取余数
    # 辗转相除法，除尽后除数就是最大公约数
    while yu != 0:
        b = a
        a = yu
        yu = a % b
    return b  # 返回除数


# 求a和b的最小公倍数
# 最小公倍数等于两个数的乘积除以最大公约数
def lcm(a, b):
    return a * b // gcd(a, b)


if __name__ == '__main__':
    a, b = map(int, input("请输入a和b:").split(" "))
    print(f"最大公约数:{gcd(a, b)}")
    print(f"最小公倍数:{lcm(a, b)}")
